package com.restaurante.restauranteandroid;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import com.restaurante.restauranteandroid.model.Pedido;
import com.restaurante.restauranteandroid.model.Status;
import com.restaurante.restauranteandroid.utils.CelulaREST;
import com.restaurante.restauranteandroid.utils.Constants;

public class MenuActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_menu);
		
		Intent it = getIntent();
		Bundle bundle = it.getExtras();
		
		TextView text_welcome = (TextView)findViewById(R.id.text_welcome);
		text_welcome.setText("Bem-vindo(a), "+bundle.getString(Constants.SESSAO_NOME_CLIENTE));
		
		Status status = new Status();
		Pedido pedido = new Pedido();
		try {
			status = CelulaREST.inicializaPedido(bundle.getInt(Constants.SESSAO_ID_CLIENTE));
			pedido = CelulaREST.retornaIdPedido(bundle.getInt(Constants.SESSAO_ID_CLIENTE));
			bundle.putInt(Constants.SESSAO_ID_PEDIDO,pedido.getIdpedido());
			it.putExtras(bundle);
		} catch (Exception e) {
			status.setCodigoErro(Constants.ERRO_OPERACAO_BD);
			e.printStackTrace();
		}
		
		if (Constants.ERRO_OPERACAO_BD.equals(status.getCodigoErro()) || Constants.ERRO_OPERACAO_BD.equals(pedido.getCodigoErro())){
			alertaMessageOk("Erro de rede. Por favor, tente novamente.");
		}
	}

	public void onButtonClick(View v){
		if (R.id.button_pedido==v.getId()){
			Intent intent = getIntent();
			Bundle bundle = intent.getExtras();
			Intent it = new Intent(MenuActivity.this, NovoPedido.class);
			System.out.println(bundle.getInt(Constants.SESSAO_ID_PEDIDO));
			it.putExtras(bundle);
			startActivity(it);
		}else if (R.id.button_pagamento==v.getId()){
			Intent intent = getIntent();
			Bundle bundle = intent.getExtras();
			Intent it = new Intent(MenuActivity.this, Pagamento.class);
			it.putExtras(bundle);
			startActivity(it);
		}
	}
	
	public void alertaMessageOk(String mensagem){

		AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
		// set dialog message
		alertDialogBuilder
			.setMessage(mensagem)
			.setCancelable(false)
			.setNeutralButton(Constants.BUTTON_OK,new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog,int id) {
					finish();
					Intent in = new Intent(getApplicationContext(), LoginActivity.class);
					startActivity(in);
				}
			  });

			// create alert dialog
			AlertDialog alertDialog = alertDialogBuilder.create();

			// show it
			alertDialog.show();
			
	}
}
